/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package plugins;

import utils.Filtre;
import dao.MediaDAO;
import javax.swing.JPanel;
import javax.swing.JTable;
import vue.TableModele;

/**
 * Interface du plugin ajoutant un nouveau type de média
 * @author Florian Minin & Khémon Beh
 */
public interface MediaPluginInterface extends java.io.Serializable{

    /**
     * DAO du nouveau média
     * @return un DAO
     */
    public MediaDAO getDAOMedia();

    /**
     * Filtre du nouveau média
     * @return un filtre
     */
    public Filtre getFiltreMedia();

    /**
     * Le modèle de la table du nouveau média
     * @return un TableModele
     */
    public TableModele getTableModeleMedia();

    /**
     * La type du média a ajouter
     * @return une chaine correspondant au type du média
     */
    public String getTypeMedia();

    /**
     * Le panel a ajouter a la fenêtre principale
     * @return un panel contenant la table a afficher
     */
    public JPanel getPanelMedia();

    /**
     * La table du nouveau type de média
     * @return une table
     */
    public JTable getJTableMedia();
}
